/**
 * 全局统一自动注册组件。
 * 推荐每个组件自定义name，如果没有定义，则使用当前组件文件名作为组件name
 */
const modFiles = require.context("./", true, /\.vue$/)
const components = [] // {name,component}
modFiles.keys().forEach((key) => {
  const comp = modFiles(key).default
  const compName = comp.name || key.replace(/\.\/(.*)\.vue/, "$1")
  components.push({ name: compName, instance: comp })
})
const install = function (Vue) {
  if (install.installed) {
    return
  }
  components.map((item) => Vue.component(item.name, item.instance))
}

const GlobalComponents = {
  install,
}

export default GlobalComponents
